package com.neil.dynamic.manage.service.inf;

import com.neil.dynamic.manage.dto.GatewayRouteDefinition;
import com.neil.dynamic.manage.entity.GatewayRoutes;

import java.util.List;
/**
 *  路由持久管理接口
 * @ProjectName:
 * @Package:        com.neil.dynamic.manage.service.inf
 * @ClassName:      IRoutesService
 * @Description:    路由持久管理接口
 * @Author:         Neil.Zhou
 * @CreateDate:     2019/10/14 18:08
 * @UpdateUser:     Neil.Zhou
 * @UpdateDate:     2019/10/14 18:08
 * @UpdateRemark:   The modified content
 * @Version:        1.0
 * <p>Copyright: Copyright (c) 2019/10/14</p>
 *
 */
public interface IRoutesService {

    int add(GatewayRoutes route);

    int update(GatewayRoutes route);

    int delete(Long id, boolean isDel);

    int enableById(Long id, boolean isEbl);

    GatewayRoutes getById(Long id);

    /**
     * 查询路由信息
     * @return
     */
    List<GatewayRoutes> getRoutes(GatewayRoutes route);

    /**
     * 返回组装后网关需要的路由信息
     * @return
     */
    List<GatewayRouteDefinition> getRouteDefinitions();
}
